Emails are used not only for person to person communication but also to communicate questions, information and discussions to a large group of people. When people send emails to large lists of recipients through cooperative groups (e.g., LDAP groups), mailing lists or custom list of people, they often use “Reply to All” functionality so that no one is inadvertently dropped from the email thread. Use of “Reply to All” will forward the email created to everyone who was a recipient of the replied to email (i.e., everyone listed in the “To”, “CC”, and “BCC” address fields) including the original sender.
As a matter of background, a thread in computer science is short for a thread of execution. Threads are a way for a program to split itself into two or more simultaneously (or pseudo-simultaneously) running tasks. Multiple threads can be executed in parallel on many computer systems. An email thread or topic thread, however, is different. A topic thread (or simply “thread” when used in context) is a group of messages or postings to a newsgroup, mailing list, hypermail, blog or Internet forum, all relating to a single topic. An e-mail client or news client is said to have “threaded topics” if it groups messages on the same topic together for easy reading.
In FIG. 1, a basic Email System 101 is shown to illustrate this point. Email System 101 has Email Client 100, Email Server 102 and Email Clients 104 and Email Client 106. Of course, many more email clients could be connected through Email Server 102 and many more email servers interconnected within Network 108. Email Client 100 communicates with Email Client 104 and Email Client 106 through Email Server 102 and, in this example, in an email communication. Of course, the clients could be communicating via text messaging—TM—or instant messaging—IM. Alternatively, Email Client 100 and Email Clients 104, 106 may be connected directly for email communication in a “peer to peer” configuration. Email Server 102 is shown within a Network 108 which may be of the many various forms such as Internet, local area network (LAN), MAN, etc. Email Server 102 has an Interface (I/F) 114 and I/F 116 for interfacing with Email Clients 100, 104, 106 (and others). Email Server 102 further has an Email Mailbox/Processor 118 for processing and storing email communications between Email Client 100 and Email Clients 104, 106. This can be seen as Email Server 102 has Mailbox Components 110, 111, and 113.
Email Client 100 has an I/F 120 for interfacing with the Network 108 and Email Server 102. Likewise, Email Clients 104, 106 have interface components for interfacing with the Network 108 and Email Server 102. Email Client 100 has a Mailbox Component 110 for providing email communications 130 with Email Client 104 through the Network 108 and Email Server 102 and for storing received emails. Likewise, Email Clients 104, 106 each has a Mailbox Component 113, 111 for providing email communications 130 with Email Client 100 through the Network 108 and Email Server 102.
The Mailbox Components 110, 111 and 113 of Email Clients 100, 104, 106 correspond to the Mailbox Components of Email Server 102 and, for some applications, the Server Mail Components replicate to the Client Mail Components so that the Client Mail Components are local to the user. However, this is not germane to this invention. (Further information on this topic can be found at http://en.wikipedia.org/wiki/Replication_%28computer_science%29.)
In the course of an email “discussion”, an Email Message 130 is sent to a number of parties such as Email Clients 104, 106. Email Client 104 “replies to all” with a Reply to All Message 132 so that it is sent to all of the initial recipients and the initial sender. This creates an email thread which is characterized by a common sender/recipient list. This, of course, can occur many times causing lots of activity at a user's mailbox.
In some cases this is desired, however, often a large part of the audience will find that particular parts of the conversation aren't relevant to them. Those people will find their email in-boxes cluttered with messages they don't want to receive, requiring that they waste time and energy manually disposing of the unwanted messages. Requesting participants not to use “Reply to All” adds more noise and confusion, with the likely prospect that people who are interested in the conversation will be dropped inadvertently.
The present invention, unlike the present state of the art, provides various simple and easy ways for each end user to manage the thread in a way that suits them. In some cases, the user experience requires only a single click.
One way, in the present state of the art, of handling unwanted email is spam filtering. (One could argue that any unwanted email in a user's inbox is spam.) However, spam filters are not flexible enough to remove unwanted mail in a thread without losing important information as spam filters are not aware of the particular structures and contexts of message threads.
An Active Filtering proxy filters electronic junk mail (also known as spam, bulk mail, or advertising) received at a Message Transfer Agent from remote Internet hosts using the Simple Mail Transfer Protocol (SMTP). The proxy actively probes remote hosts that attempt to send mail to the protected mail server in order to identify dial up PCs, open relays, and forged email. The system provides multiple layers of defense including: connect-time filtering based on IP address, identification of dial-up PCs attempting to send mail, testing for permissive (open) relays, testing for validity of the sender's address, and message header filtering. A sender's message must successfully pass through all relevant layers, or it is rejected and logged. Subsequent filters feed IP addresses back to the IP filtering mechanism, so subsequent mail from the same host can be easily blocked.
Since this technology identifies and restricts email by types and instances of sources, there is no good methodology to correctly filter only unwanted threads.
The most obvious alternative to the proposed invention is to use “Mail Rules” provided by most streamlined email Clients. One disadvantage is that mail rule creation requires an understanding of an advanced and often complex user interface. It is also a very manual process requiring specification of a number of conditions, not a one button feature.
For instance, the user could create a mail rule such as “IF SUBJECT CONTAINS xxxoldsubjecttextherexxx DELETE EMAIL”. As this functionality depends on the email subject words in the Subject field, it doesn't resolve all the cases. Users can easily change the email subject to make it unrecognizable or emails with similar subjects might get deleted depending on the subject of the email thread.
In another case, the user could create a mail rule including the message-id and references field on the MIME header. Even though this might result in the desired functionality, it would be very hard for even experienced and advanced email users to master. This also requires the email client software to provide a user interface to such fields so that the user can program complex mail rules. However, email rules have to make assumptions about the subject or the sender while in real life email threads may have a subject line altered and an email sender may be a person shadowed by a group of recipients.
As shown at http://my.opera.com/community/tips/filterguide/index3.dml, an Active Thread is automatically generated by Opera Mail when a user receives a reply from someone to a message the user has sent. This may happen during the current session or at the next startup. The original sent message and replies will be grouped into an access point. This usually works better than filtering messages with the same subject line because Active Threads recognize the right messages even if the subject line has been completely changed. E-mail belonging to an Active Thread is characterized by the Message-ID and References header. A filter can't be made having the same functionality, since Message-ID's are unique and unpredictable. The Opera email client does not provide the functionality of the present invention.
IBM's Lotus® Notes® Release 7 has a function for filtering new mail using rules, but the functionality does not achieve the flexibility of this invention. In the present Lotus Notes Release 7 (“Notes”), a user can use mail rules to have Notes act automatically on new messages the user receives that meet certain conditions. For example, the user could create a rule that checks for messages from a certain sender or that contain a certain subject and have Notes automatically move the messages to a certain folder, send copies of the messages to someone, or delete unwanted messages before the user ever sees them in them Inbox.
Notes stores the mail rules the user creates in the Rules folder in the user's mail database. The user can go there to add new rules as well as work on the ones the user has created. For example, the user can edit rules, change their order so that one rule has priority over another, turn them off when the user doesn't want to use them, or delete them entirely.
This can be seen at FIG. 2 where the user interface of a mail client is shown at 200. First, the user needs to figure out that there even is a mail rules option then to find it under the “Tools” drop-down 206. Once that is figured out, “Rules” 202 may be selected causing a “New Rule” window 204 to appear. From there, the user needs to understand how to set a rule. More information can be found here: http://www-12.lotus.com/ldd/doc/domino_notes/Rnext/help6_client.nsf/b3266a3c17f9bb7085256b87 0069c0a9/66f679f4614e451385256c1c0037da0d?OpenDocument.
Newsgroups had somewhat similar functionality in newsgroup readers. Since postings on newgroups are associated at the source—such as discussions (where user posts reply to a specific thread generating the nesting structure deliberately)—it is much easier to control the user's views of discussion threads. Each user can go to a particular newsgroup and create a filter to subscribe/unsubscribe particular content to be downloaded. In contrast, a user of an email client gets unwanted content delivered to their inbox. Though the discussion features resemble the present invention to some extent, the present invention solves the problems particular to experiences in an email client, specifically receiving mail in an in-box rather than choosing which posted materials to visit in various repositories.
In view of the foregoing, a need exists to overcome these problems by providing a system and method for managing email threads, and, more particularly, to a system and method for easily allowing users to suppress or otherwise control specific aspects of email threads using a single click from the user's UI.